contents
IP 주소(Internet Protocol address) 는 인터넷 프로토콜을 사용하여 통신하는 컴퓨터 네트워크에 연결된 모든 장치에 할당되는 고유한 숫자 레이블입니다. 이 주소는 호스트나 네트워크 인터페이스를 식별하고 네트워크상에서 호스트의 위치를 제공하는 두 가지 주요 기능을 수행합니다.
비유: 컴퓨터의 우편 주소라고 생각할 수 있습니다. 집 주소가 우편물을 받을 수 있게 해주는 것처럼, IP 주소는 인터넷상에서 데이터를 주고받을 수 있게 해줍니다.
파트 1: IPv4의 기초
오늘날 가장 일반적으로 사용되는 IP 버전은 IPv4입니다. IPv4 주소는 32비트 숫자입니다. 사람이 읽기 쉽도록 옥텟(octet) 이라고 불리는 4개의 8비트 섹션으로 나누어 "점-십진수" 형식으로 표기합니다.
- 이진수:
11000000.10101000.00000001.00000001 - 점-십진수:
192.168.1.1
모든 IP 주소는 두 부분으로 나뉩니다.
- 네트워크 ID: 주소의 첫 부분으로, 장치가 속한 특정 네트워크를 식별합니다. 동일한 로컬 네트워크의 모든 장치는 동일한 네트워크 ID를 공유합니다. (주소의 "도시와 거리" 부분)
- 호스트 ID: 두 번째 부분으로, 해당 네트워크의 특정 장치를 식별합니다. 동일한 네트워크의 각 장치는 고유한 호스트 ID를 가져야 합니다. (주소의 "집 번호" 부분)
가장 큰 질문은 컴퓨터가 어느 부분이 네트워크 ID이고 어느 부분이 호스트 ID인지 어떻게 아느냐는 것입니다. 바로 여기서 서브넷 마스크가 사용됩니다.
파트 2: 서브넷 마스킹
서브넷 마스크는 IP 주소에서 네트워크 ID와 호스트 ID를 구분하는 32비트 숫자입니다. 이는 IP 주소에 적용될 때 어느 부분이 네트워크를 식별하고 어느 부분이 장치를 식별하는지 알려주는 스텐실이나 필터와 같습니다.
- 서브넷 마스크의
1은 네트워크 부분을 나타냅니다. - 서브넷 마스크의
0은 호스트 부분을 나타냅니다.
예시:
- IP 주소:
192.168.1.100 - 서브넷 마스크:
255.255.255.0
이를 이진수로 보면 다음과 같습니다.
- IP:
11000000.10101000.00000001.01100100 - 마스크:
11111111.11111111.11111111.00000000
이 마스크는 처음 세 옥텟(192.168.1)이 네트워크 ID이고 마지막 옥텟(100)이 호스트 ID임을 알려줍니다.
작동 방식: 비트 AND 연산
컴퓨터는 IP 주소와 서브넷 마스크 간의 비트 AND(bitwise AND) 연산을 수행하여 네트워크 ID를 결정합니다.
11000000.10101000.00000001.01100100 (IP: 192.168.1.100)
& 11111111.11111111.11111111.00000000 (마스크: 255.255.255.0)
------------------------------------
= 11000000.10101000.00000001.00000000 (네트워크 ID: 192.168.1.0)
이를 통해 컴퓨터는 192.168.1로 시작하는 IP 주소를 가진 모든 장치가 동일한 로컬 네트워크에 있음을 알게 됩니다.
CIDR 표기법
255.255.255.0이라고 쓰는 것은 깁니다. CIDR(Classless Inter-Domain Routing) 표기법은 서브넷 마스크를 간결하게 표현하는 현대적인 방법입니다. 슬래시(/) 다음에 마스크에 있는 1의 개수를 적습니다.
255.255.255.0은1이 24개 있으므로/24로 표기합니다.- IP 주소와 서브넷 마스크를 함께 표기할 수 있습니다:
192.168.1.100 /24.
파트 3: 서브네팅 - 더 작은 네트워크 만들기
서브네팅은 큰 네트워크를 더 작은 하위 네트워크, 즉 서브넷으로 나누는 과정입니다. 주소의 호스트 ID 부분에서 비트를 "빌려" 네트워크 ID 부분에 사용함으로써 이를 수행합니다.
왜 이렇게 할까요?
- 조직화: 장치를 논리적 단위로 그룹화합니다 (예: 영업, 엔지니어링, 인사 부서별로 별도의 서브넷).
- 성능: 네트워크 브로드캐스트 트래픽을 줄입니다. 브로드캐스트는 동일한 서브넷 내의 장치에만 전송됩니다.
- 보안: 방화벽 규칙을 만들어 서브넷 간의 트래픽을 제어할 수 있습니다.
서브네팅 예시
네트워크 192.168.1.0 /24가 있다고 가정해 봅시다. 이는 다음을 의미합니다.
- 네트워크 ID:
192.168.1 - 호스트 ID: 마지막 8비트 (
2^8 = 256개의 주소).
이 네트워크를 4개의 더 작은 서브넷으로 나누고 싶습니다.
- 비트 빌리기: 4개의 서브넷을 만들려면 호스트 부분에서 2비트를 빌려야 합니다 ($2^2 = 4$).
- 새로운 서브넷 마스크: 원래 마스크는
1이 24개(/24)였습니다. 2비트를 빌렸으므로 새 마스크는1이 26개(/26)가 됩니다. 점-십진수 표기법으로는255.255.255.192입니다. - 마지막 옥텟 분석:
- 원래:
NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH - 새로:
NNNNNNNN.NNNNNNNN.NNNNNNNN.SSHHHHHHS= 서브넷 비트,H= 호스트 비트.
- 원래:
- 새로운 서브넷들: 두 개의 서브넷 비트는
00,01,10,11네 가지 조합을 가질 수 있습니다. 이는 네 개의 새로운 네트워크를 만듭니다.
- 서브넷 1:
- 서브넷 비트:
00 - 네트워크 주소:
192.168.1.0 /26 - 사용 가능한 IP:
192.168.1.1~192.168.1.62
- 서브넷 비트:
- 서브넷 2:
- 서브넷 비트:
01 - 네트워크 주소:
192.168.1.64 /26 - 사용 가능한 IP:
192.168.1.65~192.168.1.126
- 서브넷 비트:
- 서브넷 3:
- 서브넷 비트:
10 - 네트워크 주소:
192.168.1.128 /26 - 사용 가능한 IP:
192.168.1.129~192.168.1.190
- 서브넷 비트:
- 서브넷 4:
- 서브넷 비트:
11 - 네트워크 주소:
192.168.1.192 /26 - 사용 가능한 IP:
192.168.1.193~192.168.1.254
- 서브넷 비트:
각 서브넷의 첫 번째 주소(예: 192.168.1.0)는 네트워크 주소로, 마지막 주소(예: 192.168.1.63)는 브로드캐스트 주소로 예약되어 있음을 유의하세요.
파트 4: 미래 - IPv6
전 세계적으로 사용 가능한 IPv4 주소가 고갈되었기 때문에 IPv6가 만들어졌습니다.
- 128비트를 사용하여 사실상 무한한 수의 주소를 제공합니다.
2001:0db8:85a3:0000:0000:8a2e:0370:7334와 같이 16진수 형식으로 표기됩니다.- 서브네팅은 IPv6에서도 핵심 개념이지만, 방대한 주소 공간 덕분에 일반적으로 더 간단합니다.
references